package com.niiwoo.civet.trade.service.loan.credit;

import com.niiwoo.civet.trade.dto.request.credit.CreditLoanGuaranteeStatisticsRequestDTO;
import com.niiwoo.civet.trade.dto.request.loan.credit.INeedGuaranteeRequestDTO;
import com.niiwoo.civet.trade.dto.response.credit.CreditLoanGuaranteeStatisticsResponseDTO;
import com.niiwoo.civet.trade.dto.response.loan.credit.INeedGuaranteeResponseDTO;
import com.niiwoo.tripod.provider.dto.response.PageResponseDTO;

import com.niiwoo.civet.trade.dto.request.credit.CreditLoanGuaranteeProjectDetailRequestDTO;
import com.niiwoo.civet.trade.dto.request.credit.CreditLoanGuaranteeProjectRequestDTO;
import com.niiwoo.civet.trade.dto.response.credit.CreditLoanGuaranteeProjectDetailResponseDTO;
import com.niiwoo.civet.trade.dto.response.credit.CreditLoanGuaranteeProjectResponseDTO;

/**
 * @description 信用借历史数据(数据迁移) dubbo服务
 * @author liming
 * @date 2017-12-14 17:58
 */
public interface CreditLoanDubboService {

    /**
     * 分页查询我要担保列表
     *
     * @param iNeedGuaranteeRequestDTO 我要担保服务间分页请求DTO
     * @return
     */
    PageResponseDTO<INeedGuaranteeResponseDTO> pageINeedGuarantee(INeedGuaranteeRequestDTO iNeedGuaranteeRequestDTO);

    /**
     * 获取用户的信用借担保项目列表
     * @param requestDTO
     * @return
     */
    PageResponseDTO<CreditLoanGuaranteeProjectResponseDTO> myCreditLoanGuaranteeProjects(CreditLoanGuaranteeProjectRequestDTO requestDTO);

    /**
     * 获取用户信用借担保项目详情
     * @param requestDTO
     * @return
     */
    CreditLoanGuaranteeProjectDetailResponseDTO creditLoanGuaranteeProjectDetail(CreditLoanGuaranteeProjectDetailRequestDTO requestDTO);

    /**
     * 获取用户的担保项目统计信息
     * @param requestDTO
     * @return
     */
    CreditLoanGuaranteeStatisticsResponseDTO creditLoanGuaranteeStatistics(CreditLoanGuaranteeStatisticsRequestDTO requestDTO);
}
